package com.ruoyi.business.base.service;

import com.ruoyi.business.base.domain.BaseSecondary;

import java.util.List;

/**
 * 地区公司信息 服务层
 * 
 * @author ruoyi
 */
public interface IBaseSecondaryService
{
    /**
     * 查询地区公司信息集合
     * 
     * @param secondary 地区公司信息
     * @return 地区公司列表
     */
    public List<BaseSecondary> selectSecondaryList(BaseSecondary secondary);

    /**
     * 查询所有地区公司
     * 
     * @return 地区公司列表
     */
    public List<BaseSecondary> selectSecondaryAll();

    /**
     * 通过地区公司ID查询地区公司信息
     * 
     * @param secondaryId 地区公司ID
     * @return 角色对象信息
     */
    public BaseSecondary selectSecondaryById(Long secondaryId);

    /**
     * 根据用户ID获取地区公司选择框列表
     * 
     * @param userId 用户ID
     * @return 选中地区公司ID列表
     */
    public List<Long> selectSecondaryListByUserId(Long userId);

    /**
     * 校验地区公司名称
     * 
     * @param secondary 地区公司信息
     * @return 结果
     */
    public boolean checkSecondaryNameUnique(BaseSecondary secondary);

    /**
     * 校验地区公司编码
     * 
     * @param secondary 地区公司信息
     * @return 结果
     */
    public boolean checkSecondaryCodeUnique(BaseSecondary secondary);

    /**
     * 删除地区公司信息
     * 
     * @param secondaryId 地区公司ID
     * @return 结果
     */
    public int deleteSecondaryById(Long secondaryId);

    /**
     * 批量删除地区公司信息
     * 
     * @param secondaryIds 需要删除的地区公司ID
     * @return 结果
     */
    public int deleteSecondaryByIds(Long[] secondaryIds);

    /**
     * 新增保存地区公司信息
     * 
     * @param secondary 地区公司信息
     * @return 结果
     */
    public int insertSecondary(BaseSecondary secondary);

    /**
     * 修改保存地区公司信息
     * 
     * @param secondary 地区公司信息
     * @return 结果
     */
    public int updateSecondary(BaseSecondary secondary);
}
